<?php
/**
 * Controlador de la pagina web
 * 
 * @category   Controller
 * @package    modules_general_models
 * @author     Jose Miguel De Jesus <josejm07@hotmail.com>
 * @copyright  Todos los derechos reservados. curriculumvitae.net. 2013.
 * 
 * @see        Administrador
 * @since      Version 1.0, revision 1.
 */
class Home extends CI_Controller
{
    /** 
     * Inicialisa el constructor de CI_Controller
     */
    public function __construct()
	{
		parent::__construct();
                
                  $this->load->model(array('general/home/model/gn_usuarios_model'));
                  
                         $this->load->helper('email');
	}
	
	/**
	 * 
	 * Esta funcion index es la que me va a cargar la vista.
	 */
	public function index()
	{ 
            
            $newdata = array(
            'username' => '',
            'logged_in' => False
        );

        $this->session->set_userdata($newdata);

        /**
         * Carga Home.php y content_page es una variable en home que da la direccion
         * de la vista complementaria del controlador 
         */
        $this->load->view('home/home', array('content_page' => 'home/web/principal', 'content_pie' => 'home/pie-pagina'));
    }
        
    /**
     * Metodo De Contactos que carga la pagina de contactos
     */
    public function contacto()
    {
       
      $this->load->view('home/home',array('content_page' => 'home/web/contacto','content_pie' => 'home/pie-pagina')); 
    }
    
    /**
     * Metodo Que Reghistra los usuarios en la base de datos
     */
    public function registrar()
    {
        	
           
        $this->load->view('home/home',array('content_page' => 'home/web/reguistrar','content_pie' => 'home/pie-pagina')); 
        
    }
    
    /**
     * Metodo que valida el formulario
     */
    public function validar()
         {
        
         $form = array();
         
       $this->form_validation->set_rules('username', 'username', 'required|min_length[5]|max_length[30]|xss_clean');
       $this->form_validation->set_rules('correo', 'correo', 'trim|required|valid_email|min_length[5]|max_length[40]|xss_clean');        
       $this->form_validation->set_rules('pais', 'pais', 'required|min_length[5]|max_length[30]|xss_clean');		
       $this->form_validation->set_rules('usuario', 'usuario', 'trim|required|min_length[5]|max_length[30]|xss_clean');
       $this->form_validation->set_rules('password', 'Password', 'trim|required|matches[password2]|md5');
       $this->form_validation->set_rules('password2', 'Password Confirmation', 'trim|required|matches[password]|md5');
       $this->form_validation->set_rules('mycheck', 'mycheck', 'required');
		
                    if ($this->form_validation->run() == FALSE)
		{
                    $this->registrar();
		}
		else
		{	 
                   $form = array (
                     'nombre_completo' => $this->input->post('username'),
                     'correo' => $this->input->post('correo'),
                     'pais' => $this->input->post('pais'),
                     'usuario' => $this->input->post('usuario'),
                     'password' => $this->input->post('password'),
                     'ip' => $_SERVER['REMOTE_ADDR'],
                     'fecha' => date('Y/m/d'),
                     'time' => date("g:i:s-AM"),
                     'estado' => 0);
     
                 $this->insertar($form);
                 
                   } 
         }
    
         
       /**
        * @param $form  array 
        */
         public function insertar($form)
          {
             
              if($this->gn_usuarios_model->loadRegistro($form['usuario']) == FALSE && $this->gn_usuarios_model->loadCorreo($form['correo']) == FALSE )
                {
                 
           if($this->gn_usuarios_model->addRegistro($form))
            {
               
               /**
                *  Consulta de la base de datos buscando el usuario
                * registrado para validarlo
                */
              $usuario = $this->gn_usuarios_model->loadRegistro($form['usuario']);
               
              $headers = "MIME-Version: 1.0\r\n"; 
	    $headers .= "Content-type: text/html; charset=iso-8859-1\r\n"; 
	    $headers .= "From:vitaetechnologies Solicitud \r\n"; 
	    $headers .= "Reply-To:vitaetechnologies@gmail.com\r\n";
               
              $mail=" viate@curriculumvitae.site50.net ". $usuario->getNombreCompleto(). " Favor  de verificar su 
                  cuenta gracias por adquirir nuestros servicios 
                  
           http://www.curriculumvitae.site50.net/index.php/general/home/validarCuenta/".$usuario->getIdUsuario()."'>
            
           Para Mayor informacion entrar a  http://www.curriculumvitae.site50.net
                ";
                      
               if(send_email($form['correo'], 'vitaetechnologies Solicitud De Registro',$mail,$headers)) {
                   
            redirect("/general/home/reguistroCompletado");   } else {    
                            
                redirect("/general/home/error");           }
                   }
             
             }  else {
                             redirect("/general/home/error");
     
             }
          }
          
          /**
           * Funcion para validar cuenta de ususraio
           */
          public function validarCuenta()
          {
              $separadas = explode('/', $_SERVER["REQUEST_URI"]);
             
                        $int =  end($separadas);
                        
                 $data = array(
               'estado' => 1);       
                     
           if($this->gn_usuarios_model->UdateID($int,$data)){
               
               redirect("/general/home/validadoCorrectamente");
                 
           }  else {redirect("/general/home/error");}
                   }
              
          /**
           * Funcion que muestra el registro completado
           */
         public function reguistroCompletado()
          {
              
              $this->load->view('home/home',array('content_page' => 'home/web/reguistro-completado','content_pie' => 'home/pie-pagina')); 
              
          }
          
          /**
           * Error por defecto ante cualquier error
           */
          public function error()
          {
              $this->load->view('home/home',array('content_page' => 'home/web/error','content_pie' => 'home/pie-pagina')); 
              
          }
          
          /**
           * Vista para hacer saber que se valido la cuenta
           */
          public function validadoCorrectamente()
          {
              
      $this->load->view('home/home',array('content_page' => 'home/web/cuenta-valida','content_pie' => 'home/pie-pagina')); 
              
          }
          
}

?>
